Data mining is the use of automated data analysis techniques to uncover previously undetected relationships among data items. The best known examples of data mining applications are in database marketing using techniques such as interactive querying, segmentation, and predictive modeling of a customer database to select potential customers in a more precisely targeted way, in financial investment using predictive modeling techniques to create trading models, select investments, and optimize portfolios, and in production manufacturing wherein production processes are controlled and scheduled to maximize profit.
Data mining has been appropriate for these areas because, while significant amounts of data are present for analysis, the datasets are of a small enough nature that analysis can be performed quickly and efficiently using standard data mining techniques such as association rule mining (ARM), classification, and cluster analysis. This has not been the case with other kinds of datasets. For instance, such areas as bioinformatics where analysis of microarray expression data for DNA is required, nanotechnology where data fusion must be performed, VLSI design where circuits containing millions of transistors must be properly interconnected and tested for accuracy, image analysis of spatial data obtained, for example, from sets of aerial images where data representative of each detailed image can comprise millions of bits, and other kinds of applications that present extremely large datasets where the mining of implicit relationships among the data can be prohibitively time consuming with traditional methods.
The initial problem in establishing data mining techniques for these extremely large datasets is organizing the large amounts of data into an efficiently usable form that facilitates quick computer retrieval, interpretation, and sorting of the entire dataset or subsets thereof. The organizational format of the data should recognize that different bits of data can have different degrees of contribution to value. For example, in some applications high-order bits alone may provide the necessary information for data mining, making the retention of all the bits in a dataset unnecessary for a given analysis. The organizational format should also recognize the need to facilitate the representation of a precision hierarchy. For example, in some applications a band may be well represented by a single bit whereas other applications may require eight bits to be appropriately represented. In addition, the organizational format should recognize the need to facilitate the creation of an efficient, lossless data structure that is data-mining-ready, i.e., a data structure suited for data mining techniques.
Prior art techniques to mine large datasets have largely depended on Clustering and Classification techniques. Clustering attempts to discover and understand the natural structure or group in a data set. [See Baumgartner, C., Plant, C., Kailing, K., Kriegel, H., Kroger, P., (2004) Subspace Selection for Clustering High-Dimensional Data, proceedings of 4th IEEE International Conference on Data Mining]. The goal of clustering is to collect similar objects mutually exclusively and collectively exhaustively, achieving minimal dissimilarity within one cluster and maximal dissimilarity among clusters. [See Han, J., and Kamber, M. (2001), Data Mining: Concepts and Techniques, San Francisco, Calif., Morgan Kaufmann]. Clustering methods, such as partitioning, hierarchical, density-based, grid-based, and model-based methods are well known in the art. [See for example, Bohm, C., Kailing, K., Kriegel, H., Kroger, P., Density Connected Clustering with Local Subspace Preferences, proceedings of 4th IEEE International Conference on Data Mining and Han J. et al. referenced above]. In a partitioning clustering problem for example, the aim is to partition a given set of n points in m dimensional space into k groups, called clusters, so that points within each cluster are near each other.
The most well known partitioning methods are k-means and k-medoids, and their variants. Essentially, given a database of n objects and k, the number of clusters to form, a partitioning technique organizes the objects into k partitions (k≦n), where each partition represents a cluster. The clusters are formed to optimize an objective partitioning criterion, often called a similarity function, such as distance, so that the objects within a cluster are “similar”, whereas the objects of different clusters are “dissimilar” in terms of the database attributes.
The process for a conventional k-means technique for partitioning proceeds as follows. First, the process randomly selects k of the objects, which initially each represent a cluster mean or center. For each of the remaining objects, an object is assigned to the cluster to which it is the most similar, based on the distance between the object and the cluster mean. The process then computes the new mean for each cluster. This process iterates until the criterion function converges.
The k-means method, however, can be applied only when the mean of a cluster is defined. Moreover, the k-means method is sensitive to noisy data and outliers since a small number of such data can substantially influence the mean value.
The basic strategy of k-medoids clustering techniques is to find k clusters in n objects by first arbitrarily finding a representative object (the medoid) for each cluster. Each remaining object is clustered with the medoid to which it is the most similar. The strategy then iteratively replaces one of the medoids by one of the non-medoids as long as the quality of the resulting clustering is improved.
Partitioning Around Medoids (PAM) is a variation of the k-medoids clustering technique. PAM attempts to determine k partitions for n objects. After an initial random selection of k-medoids, the technique repeatedly tries to make a better choice of medoids. All of the possible pairs of objects are analyzed, where one object in each pair is considered a medoid, and the other is not. Experimental results show that PAM works satisfactorily for small data sets; however, PAM is not efficient in dealing with medium and large data sets.
Clustering Large Applications (CLARA) and Clustering Large Applications based on Randomized Search (CLARANS) are further refinements to the PAM technique. Instead of finding representative objects for the entire data set, CLARA draws a sample of the data set, applies PAM on the sample, and finds the medoids of the sample. Unfortunately, a good clustering based on samples will not necessarily represent a good clustering of the whole data set if the sample is biased. As such, CLARANS was proposed which does not confine itself to any sample at any given time. The CLARANS technique draws a sample with some randomness in each step of the search.
These CLARA and CLARANS methods are successful when the clusters are compact clouds that are rather well separated from one another. However, these approaches have three main shortcomings. The first shortcoming is the necessity for users to specify k, the number of clusters, in advance, which is not applicable for many real applications because users may have no prior knowledge of the distribution of the datasets. The second disadvantage is that the computation complexity of the methods are represented by the function O (nkt), where n is the number of objects, k is the number of clusters, and t is the number of iterations, thus, these methods are not efficient and scalable for large datasets (where n is large). The third shortcoming is that the initial points are chosen randomly. In the case of random selection, if the points selected are far away from the mean or the real centroid points, both the quality of the clusters and efficiency of the process deteriorate significantly (where t is large).
Accordingly, it would be desirable to develop methods and techniques for data mining that were more applicable and efficient for use with large and very large datasets.